﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KPIS.GERP.GHRMS.MODEL
{
    public class JobSiteInfo : RecordInfo
    {
        private Nullable<int> job_site_seq;
        private string job_site_ref;
        private string job_site_name;
        private string job_site_name_short;
        private string job_site_name_eng;
        private string job_site_name_eng_short;        
        private string job_site_full_path;        
        private string gfmis_code;
		private string job_description;
		private string job_site_address2;
		private string job_site_webaddress;
        private Nullable<int> head_pos_seq;
        private Nullable<DateTime> date_start;
        private Nullable<DateTime> date_end;
        private AddressInfo address;
        private MasDistrictInfo district;
        private MasCityInfo city;
        private MasCountryInfo country;
        private Nullable<int> upper_job_site_seq;
        private Nullable<int> job_site_external_seq;
        private JobSiteTypeInfo job_site_type_seq;
        private WorkAreaInfo work_area_seq;
		private JobSiteLevelInfo job_site_level_seq;

        public JobSiteInfo()
        { 
        
        }
        public JobSiteInfo(Nullable<int> Sequence)
        {
            this.Sequence = Sequence;
        }
        public JobSiteInfo(Nullable<int> Sequence, string RefNo, string Name, string NameShort, string NameEng
            , string NameEngShort, string FullPath, string GFMIS, string JobDescription, string Remarks
            , Nullable<int> CreatedBy, Nullable<int> UpdatedBy //,Nullable<DateTime> StartDate, Nullable<DateTime> EndDate
            , AddressInfo Address, MasDistrictInfo Districts, MasCityInfo City, MasCountryInfo Countries
            , Nullable<int> Upper, JobSiteTypeInfo JobSiteTypes
            , WorkAreaInfo WorkAreas, JobSiteLevelInfo JobSiteLevels
			, string Address2 = "", string WebAddress = "", Nullable<int> HeadPosSeq = null)
        {
            this.Sequence = Sequence;
            this.RefNo = RefNo;
            this.Name = Name;
            this.NameShort = NameShort;
            this.NameEng = NameEng;
            this.NameEngShort = NameEngShort;
            this.FullPath = FullPath;
            this.GFMIS = GFMIS;
            this.JobDescription = JobDescription;
            //this.StartDate = StartDate;
            //this.EndDate = EndDate;
            this.Remarks = Remarks;
	        this.Address2 = Address2;
	        this.WebAddress = WebAddress;
            this.CreatedBy = CreatedBy;
            this.UpdatedBy = UpdatedBy;
            this.Address = Address;
            this.Districts = Districts;
            this.City = City;
            this.Countries = Countries;
            this.Upper = Upper;
            this.JobSiteTypes = JobSiteTypes;
            this.WorkAreas = WorkAreas;
            this.JobSiteLevels = JobSiteLevels;
            this.head_pos_seq = HeadPosSeq;
        }
        public Nullable<int> Sequence
        {
            get { return job_site_seq;}
            set { job_site_seq = value;}

        }
        public string RefNo
        {
            get { return job_site_ref; }
            set { job_site_ref = value; }
        }
        public string Name
        {
            get { return job_site_name; }
            set { job_site_name = value; }
        }
        public string NameShort
        {
            get { return job_site_name_short; }
            set { job_site_name_short = value; }
        }
        public string NameEng
        {
            get { return job_site_name_eng; }
            set { job_site_name_eng = value; }
        }
        public string NameEngShort
        {
            get { return job_site_name_eng_short; }
            set { job_site_name_eng_short = value; }
        }
        public string FullPath
        {
            get { return job_site_full_path; }
            set { job_site_full_path = value; }
        }
        
        public string GFMIS
        {
            get { return gfmis_code; }
            set { gfmis_code = value; }
        }
		public string JobDescription
		{
			get { return job_description; }
			set { job_description = value; }
		}
		public string Address2
		{
			get { return job_site_address2; }
			set { job_site_address2 = value; }
		}
        public string WebAddress
        {
            get { return job_site_webaddress; }
            set { job_site_webaddress = value; }
        } 
        public Nullable<int> HeadPosSeq
        {
            get { return head_pos_seq; }
            set { head_pos_seq = value; }
        }
        //public Nullable<DateTime> StartDate
        //{
        //    get { return date_start; }
        //    set { date_start = value; }
        //}
        //public Nullable<DateTime> EndDate
        //{
        //    get { return date_end; }
        //    set { date_end = value; }
        //}
        public AddressInfo Address
        {
            get { return address; }
            set { address = value; }
        }
        public MasDistrictInfo Districts
        {
            get { return district; }
            set { district = value; }
        }
        public MasCityInfo City
        {
            get { return city; }
            set { city = value; }
        }
        public MasCountryInfo Countries
        {
            get { return country; }
            set { country = value; }
        }
        public Nullable<int> Upper
        {
            get { return upper_job_site_seq; }
            set { upper_job_site_seq = value; }
        }
        public Nullable<int> External
        {
            get { return job_site_external_seq; }
            set { job_site_external_seq = value; }
        }
        public JobSiteTypeInfo JobSiteTypes
        {
            get { return job_site_type_seq; }
            set { job_site_type_seq = value; }
        }
        public WorkAreaInfo WorkAreas
        {
            get { return work_area_seq; }
            set { work_area_seq = value; }
        }
        public JobSiteLevelInfo JobSiteLevels
        {
            get { return job_site_level_seq; }
            set { job_site_level_seq = value; }
        }
    }
}
